<!DOCTYPE html>
<html lang="zh-CN">
<!-- 博客详情页面：展示单篇博客的完整内容 -->

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客详情页</title>

    <!-- 引入公共样式和详情页面专用样式 -->
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/detail.css">
</head>

<body>
    <!-- 顶部导航栏 -->
    <div class="nav">
        <img src="pic/logo2.jpg" alt="博客系统Logo">
        <span class="blogInfo-title">我的博客系统</span>
        <div class="space"></div>
        <a class="nav-span" href="blog_list.html">主页</a>
        <a class="nav-span" href="blog_edit.html">写博客</a>
        <!-- 注销功能 -->
        <a class="nav-span" href="#" onclick="logout()">注销</a>
    </div>

    <!-- 页面主体内容 -->
    <div class="container">
        <!-- 左侧作者信息区域 -->
        <div class="left">
            <div class="card">
                <img src="pic/doge.jpg" alt="作者头像">
                <!-- 作者姓名将通过JavaScript动态填充 -->
                <h3>比特汤老师</h3>
                <!-- GitHub链接将通过JavaScript动态填充 -->
                <a href="#" target="_blank">GitHub 地址</a>
                <div class="row">
                    <span>文章</span>
                    <span>分类</span>
                </div>
                <div class="row">
                    <span>2</span>
                    <span>1</span>
                </div>
            </div>
        </div>
        
        <!-- 右侧博客详情区域 -->
        <div class="right">
            <div class="content">
                <!-- 博客标题将通过JavaScript动态填充 -->
                <div class="title"></div>
                <!-- 创建时间将通过JavaScript动态填充 -->
                <div class="date"></div>
                <!-- 博客内容将通过markdown转换后显示 -->
                <div class="detail" id="detail" style="background: transparent;"></div>
            </div>
        </div>
    </div>

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="blogInfo-editormd/css/editormd.css" />
    <script src="js/jquery.min.js"></script>
    <script src="blogInfo-editormd/lib/marked.min.js"></script>
    <script src="blogInfo-editormd/lib/prettify.min.js"></script>
    <script src="blogInfo-editormd/editormd.js"></script>
    <script src="js/common.js"></script>
    <script>
        // 页面加载时获取作者信息和博客详情
        getUserInfo("/userInfo/getAuthorInfo" + location.search);
        getBlogDetail();

        /**
         * 删除博客功能
         * @param {number} id - 要删除的博客ID
         */
        function deleteBlog(id) {
            // 确认删除操作
            if (!confirm("确定要删除这篇博客吗？")) {
                return;
            }
            
            $.ajax({
                type: "post",
                url: "/blogInfo/delete?blogId=" + id,
                success: function(result){
                    if(result.code == 200 && result.data){
                        // 删除成功，提示用户并跳转到博客列表页
                        alert("博客删除成功");
                        location.href = "blog_list.html";
                    } else {
                        // 删除失败的处理
                        alert("删除失败：" + (result.errMsg || "未知错误"));
                    }
                },
                error: function() {
                    // 网络或服务器错误处理
                    alert("删除失败：网络或服务器错误");
                }
            });
        }

        /**
         * 获取博客详情
         * 通过Ajax从后端获取指定博客的详细信息并渲染到页面
         */
        function getBlogDetail() {
            $.ajax({
                type: "get",
                url: "/blogInfo/getBlogDetail" + location.search,
                success: function (result) {
                    if (result.code == 200 && result.data != null) {
                        // 成功获取博客详情数据
                        let blogInfo = result.data;
                        
                        // 填充博客标题和创建时间
                        $(".title").text(blogInfo.title);
                        $(".date").text(blogInfo.createTime);
                        
                        // 使用editor.md将markdown内容转换为HTML并显示
                        editormd.markdownToHTML("detail", {
                            markdown: blogInfo.content,
                        });
                        
                        // 检查当前用户是否为博客作者，如果是则显示编辑和删除按钮
                        let loginUserId = localStorage.getItem("loginUserId");
                        if(loginUserId == blogInfo.userId){
                            // 构造操作按钮HTML
                            let finalHtml = '';
                            finalHtml += '<div class="operating">';
                            finalHtml += '<button onclick="window.location.href=\'blog_update.html?blogId='+blogInfo.id+'\'">编辑</button>';
                            finalHtml += '<button onclick="deleteBlog('+blogInfo.id+')">删除</button>';
                            finalHtml += '</div>';
                            
                            // 将操作按钮添加到内容区域
                            $(".right .content").append(finalHtml);
                        }
                    } else {
                        // 获取博客详情失败的处理
                        console.error("获取博客详情失败:", result.errMsg);
                    }
                },
                error: function(error) {
                    // 处理HTTP错误状态码
                    if (error.status == 401) {
                        location.href = "blog_login.html";
                    } else {
                        console.error("获取博客详情失败:", error);
                    }
                }
            });
        }
    </script>
</body>

</html>